跳到主要内容

Project 2

Course

Homework

Homework 2

References

可视化

优化

思考

  • 重复的 key 应该如何实现?

关于 C++

(void)ctx 的作用?

b_plus_tree.cpp 中可以看到这样的代码:

  // Declaration of context instance.
  Context ctx;
  (void)ctx;

Checkpoint 1 要求我们实现 B+ 树的插入、查询、迭代功能。起初我打算按顺序实现每个 Task 的功能,但着实是一头雾水:比如 Task 1 要求我们实现 B+Tree Page、B+Tree Leaf Page、B+Tree Internal Page 这三个类, 但这时还没有写 B+ 树的查询和插入功能,因此我并不清楚这三个类到底该做什么。

参考教材的伪代码,我完成 Checkpoint 1 的顺序是:先写 B+ 树的查询方法,补充节点的 Get/Set 方法、中间节点的二分查找功能;再写 B+ 树的插入方法,补充叶子节点和中间节点的分裂功能;最后实现迭代器。